[HVM] Disable VMX/SVM on auxiliary processors when shutting down an SMP system.
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Fri, 29 Sep 2006 10:28:04 +0000 (11:28 +0100)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Fri, 29 Sep 2006 10:28:04 +0000 (11:28 +0100)
With Intel VT, VMXOFF needs to be executed before halting the
CPU. Without this fix Xen or Linux is unable to start up the CPU after
a kexec reboot.

Tested using x86_32 on a Pentium D 930.

Signed-Off-By: Magnus Damm <magnus@valinux.co.jp>
xen/arch/x86/smp.c

index 27dc4daf87de7dc6976b1de1f82d6751b6b4c356..2d1424003970b730ab0b7ac2b7875a59c28c28b3 100644 (file)
@@ -21,6 +21,7 @@
 #include <asm/smpboot.h>
 #include <asm/hardirq.h>
 #include <asm/ipi.h>
+#include <asm/hvm/hvm.h>
 #include <mach_apic.h>
 
 /*
@@ -306,6 +307,7 @@ static void stop_this_cpu (void *dummy)
 
     local_irq_disable();
     disable_local_APIC();
+    hvm_disable();
 
     for ( ; ; )
         __asm__ __volatile__ ( "hlt" );